Alcuni utenti potrebbero trovare utile che all'avvio di Outlook vengono aperte le cartelle Posta in Arrivo, Calendario, Attività e Contatti in diverse finestre con dimensioni personalizzate.
Per raggiungere tale scopo è possibile utilizzare VBA:
- Avviare Outlook;
- Dal menu File->Opzioni selezionare Personalizzazione barra multifunzione;
- Nell'elenco Schede principali (sulla destra) aggiungere il segno di spunta alla voce Sviluppo e cliccare su OK;
|
FIG 1 - Outlook, Personalizza barra multifunzione |
- Avviare Microsoft Visual Basic, Application Edition tramite la combinazione di tasti ALT+F11;
- Nella visualizzazione ad albero del progetto, sul lato sinistro della finestra, selezionare ThisOutlookSession;
|
FIG 2 - Outlook, Microsoft Visual Basic Application Edition |
- Copiare e incollare il seguente script;
Private Sub Application_Startup()
Dim olExp As Outlook.Explorer
Dim objInbox As Folder
Dim objCalendar As Folder
Dim objContacts As Folder
Dim objTasks As Folder
Set objInbox = Application.ActiveExplorer.CurrentFolder
Set objCalendar = Session.GetDefaultFolder(olFolderCalendar)
Set objContacts = Session.GetDefaultFolder(olFolderContacts)
Set objTasks = Session.GetDefaultFolder(olFolderTasks)
'Apre la cartella Contatti in una finestra di Outlook ridotta ad icona (olMinimized)
objContacts.Display
Set olExp = Application.ActiveExplorer
With olExp
.WindowState = olMinimized
End With
'Apre la cartella Attività in una finestra di Outlook ridotta ad icona (olMinimized)
objTasks.Display
Set olExp = Application.ActiveExplorer
With olExp
.WindowState = olMinimized
End With
'Apre la cartella Calendario in una finestra normale di Outlook (olNormalWindow)
objCalendar.Display
Set olExp = Application.ActiveExplorer
With olExp
.WindowState = olNormalWindow
End With
'Apre la cartella Posta in arrivo in una finestra massimizzata di Outlook (olMaximized)
objInbox.Display
Set Application.ActiveExplorer.CurrentFolder = objInbox
Set olExp = Application.ActiveExplorer
olExp.WindowState = olMaximized
End Sub
- Attraverso la proprietà WindowState di Outlook.Explorer è possibile indicare se aprire la cartella in una finestra normale (olNormalWindow), ridotta (olMinimized) o ingrandita (olMaximized). Salvare lo script cliccando sull'apposita icona e ritornare alla finestra di Outlook;
- Dalla scheda Sviluppo cliccare su Sicurezza macro;
|
FIG 3 - Outlook, Sicurezza macro |
- Dalla finestra Centro protezione, nella sezione Impostazioni macro, selezionare Visualizza notifiche per tutte le macro. In questo modo all'avvio di Outlook verrà richiesto se eseguire la macro.
|
FIG 4 - Outlook, Visualizza notifiche per tutte le macro |
Per agire sulla posizione e sulla dimensione delle finestre aperte si utilizzano le proprietà Top, Left, Height, Width che consentono di specificare la distanza in pixel della finestra dalla parte alta dello schermo, la distanza dal bordo sinistro, l'altezza della finestra e la sua larghezza.
Ad. es volendo aprire la finestra con il Calendario di Outlook, spostarla in altro a sinistra dello schermo e impostare la dimensione 800x1000 lo script è il seguente:
Private Sub Application_Startup()
Dim olExp As Outlook.Explorer
Dim objInbox As Folder
Dim objCalendar As Folder
Dim objContacts As Folder
Dim objTasks As Folder
Set objInbox = Application.ActiveExplorer.CurrentFolder
Set objCalendar = Session.GetDefaultFolder(olFolderCalendar)
Set objContacts = Session.GetDefaultFolder(olFolderContacts)
Set objTasks = Session.GetDefaultFolder(olFolderTasks)
'Apre la cartella Contatti in una finestra di Outlook ridotta ad icona (olMinimized)
objContacts.Display
Set olExp = Application.ActiveExplorer
With olExp
.WindowState = olMinimized
End With
'Apre la cartella Attività in una finestra di Outlook ridotta ad icona (olMinimized)
objTasks.Display
Set olExp = Application.ActiveExplorer
With olExp
.WindowState = olMinimized
End With
'Apre la cartella Calendario in una finestra normale di Outlook (olNormalWindow)
objCalendar.Display
Set olExp = Application.ActiveExplorer
With olExp
.WindowState = olNormalWindow
.Top = 0
.Left = 0
.Height = 800
.Width = 1000
End With
'Apre la cartella Posta in arrivo in una finestra massimizzata di Outlook (olMaximized)
objInbox.Display
Set Application.ActiveExplorer.CurrentFolder = objInbox
Set olExp = Application.ActiveExplorer
olExp.WindowState = olMaximized
End Sub
Se si vogliono aprire più finestre di Outlook in modo che siano sfalsate tra loro come mostrato in FIG 5, il codice da copiare è il seguente:
Private Sub Application_Startup()
Dim objInbox As Folder
Dim objCalendar As Folder
Dim objContacts As Folder
Dim objTasks As Folder
Set objInbox = Application.ActiveExplorer.CurrentFolder
Set objCalendar = Session.GetDefaultFolder(olFolderCalendar)
Set objContacts = Session.GetDefaultFolder(olFolderContacts)
Set objTasks = Session.GetDefaultFolder(olFolderTasks)
objCalendar.Display
objContacts.Display
objTasks.Display
Dim olExps As Outlook.Explorers
Set olExps = Application.Explorers
Dim oTop As Long, oLeft As Long
oTop = 100
oLeft = 200
For x = 1 To olExps.Count
With olExps.Item(x)
.WindowState = olNormalWindow
.Top = oTop
.Left = oLeft
.Height = 800
.Width = 1000
End With
oTop = oTop + 50
oLeft = oLeft + 50
Next x
Set Application.ActiveExplorer.CurrentFolder = objInbox
End Sub
|
FIG 5 - Outlook, Finestre sfalsate |